//home模块的小仓库
import {reqCategoryList, reqGetBannerList, reqGetFloorList} from '@/api'



//state:仓库存储数据的地方
const state = {
    categoryList: [],
    bannerList: [],
    floorList: [],
}

//actions:处理action的地方，可以书写自己的业务逻辑吗，也可以处理异步
const actions = {
    //这里可以书写业务逻辑，但是不能直接修改state
    async categoryList({commit}){
        let result = await reqCategoryList()
        if(result.code == 200){
            commit("CATEGORYLIST", result.data)
        }
    },
    //获取首页轮播图的数据
    async getBannerList({commit}){
        let result = await reqGetBannerList()
        if(result.code == 200){
            commit("GETBANNERLIST", result.data)
        }

    },

    //获取floor数据
    async getFloorList({commit}){
        let result = await reqGetFloorList()
        if(result.code == 200){
            commit("GETFLOORLIST", result.data)
        }

    }
}

//mutations:修改state的唯一手段
const mutations = {
    //通过API里面的接口函数调用，向服务器发送请求，获取服务器数据
    CATEGORYLIST(state, categoryList){
        state.categoryList = categoryList
    },
    GETBANNERLIST(state, bannerList){
        state.bannerList = bannerList
    },
    GETFLOORLIST(state, floorList){
        state.floorList = floorList
    },

}



//getters:理解为计算属性，用于简化仓库数据，让组件获取仓库的数据更加方便
const getters = {}

export default {
    state,
    actions,
    mutations,
    getters
}